export class ApplicationShell { fileList: FileList = null;
toolbarExpanded = ko.observable(false);
statusText = ko.observable('ready.'); private _selectedDocState: DocumentState = null;
private _editorElement: HTMLElement = null;
private _editorHost: HTMLElement = null;
private _saveTimeout = 0;
private _saveSelectedFileClosure = () => this._invokeSaveSelectedFile();
savingFiles: ko.ObservableArray<string>;
constructor(private _storage: DocumentStorage) { if (this._storage.editedUTC){ var dt = new Date(this._storage.editedUTC);
this.statusText('Updated ' + dt.getFullYear() + '-' + dt.getMonth() + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes()+'.'); this.savingFiles = this._storage.savingFiles;
this.fileList = new FileList(this._storage);
this.fileList.selectedFile.subscribe((fileEntry) => this._fileSelected(fileEntry));
var allFilenames = this._storage.documentNames();
for (var i = 0; i < allFilenames.length; i++) { var docState = this._storage.getDocument(allFilenames[i]);
keyDown(self, e: KeyboardEvent) { if ((<any>e).cmdKey || e.ctrlKey || e.altKey) {